The present invention is intended to increase the processing speed and to reduce the size and cost of an image processing system for detecting an edge of a graphic image included in an inputted picture image by carrying out edge detection and address data collection requiring a large amount of processing work by means of a dedicated hardware circuit and carrying out arithmetic and other processes by means of software.
Conventionally, with regards to such an image processing system, there have been known two methods for extracting features of a graphic image:
(1) Computing representative values of a graphic image after writing image data into a memory and carrying out a software process thereon; and PA0 (2) Computing representative values of a graphic image as a hardware process either while writing image data into a memory or after writing image data into a memory.
However, in the case of (1) the software process, because of a limited processing speed, a considerable time is required for the computing process.
In the case of (2) the hardware process, the computing speed is high but the system tends to be bulky and expensive, and limited in versatility.
In some applications of industrial image processing systems, it is highly desired to compute the locations of the centers of gravity of objects to be inspected or monitored. When there are a plurality of objects in a single frame, it is necessary to compute the center of gravity for each of the objects. Conventionally, each frame was divided into a plurality of windows each containing one of the objects to be monitored, and the arithmetic operation for finding the center of gravity was carried out on each of the objects or, in other words, each of the windows defined in the single frame.
However, according to this conventional process, the time required for carrying out the necessary arithmetic operation increased in proportion to the number of objects in each frame, and this process was found to be impractical when there are a substantially large number of objects in each frame.
Conventionally, in an image processing system for measuring such geometrical features as areas, gravitational centers, inclinations and so on, it has been customary to provide a memory having a same capacity as the size of the frame, and measure each part of the picture image transferred onto one of a plurality of windows after transferring the picture image onto the same coordinates in the memory so as to permit to read out and process the memory contents during the measurement process.
However, such a conventional process has the following problem.
Suppose that the frame size is given by 512 by 512 pixels as shown in FIG. 11, and windows are defined around the coordinates of three objects A, B and C in a picture image. According to this conventional method, when three objects A, B and C are included in a frame D, it was necessary either to prepare a window memory for three frames or to rewrite the contents of the memory for the measurement process of each of the windows.
Therefore, no matter how small the windows may be, it was necessary to prepare a memory having a capacity for a same number of frames as there are windows, and the necessary capacity of the memory increased in proportion to the number of the windows. If the capacity of the memory is not increased, it becomes necessary to rewrite memory each time a measurement for a new window is to be carried out, and the processing speed is significantly reduced.
In some applications, it is desired to detect differences in gradation levels. When a monochromatic CCD camera or the like is used, differences in color may be detected as differences in gradation levels. An image processing system which is capable of detecting fine differences in gradation levels can offer an improved inspection capability through mechanization of the visual inspection of industrial products which has conventionally been performed by naked human eyes.
However, according to conventional image processing systems, because of the use of a gradation recognition system based on the conversion of the gradation levels of the products to be inspected into binary data by defining a certain threshold level, the following problems existed.
Specifically, when the difference in gradation is small between an industrial product or an object and its background, for instance when the product is yellow while the background is white, extraction of the external view of the product tends to be difficult, extraction of an arbitrary extraction level may be impossible, and the circuit structure tends to be complex when a plurality of windows are defined in a single frame and a threshold level is to be defined individually for each of the windows.
Also, according to the conventional technology, it has been impossible to inspect the gradation of industrial products when a plurality of windows are superimposed one over the other.